import java.util.Scanner;

public class OOP_Base {
    /**
     * 面向对象基础
     * 面向对象编程 （Object Oriented Programming）
     * 类是具有一系列属性的抽象，相当于一个模板，对象是类的具象（实例）化，具有类的属性，比如月饼模具是类，以这个模具做出来的月饼就是对象，继承了模具的一些特征，比如大小花纹什么的，和python的类与对象相似。
     * java不是纯面向对象的语言
     * java所有的对象，都要通过new关键字来创建，是引用类型，基本数据类型不是对象！
     * 不是基本数据类型的变量，都是引用类型，引用类型变量代表一个对象，我们可以通过引用对象进行操作。而基本数据类型对象，保存的是一个基本数据类型的值，比如int（String str不是基本数据类型）
     */
    public static void main(String[] args) {
        //这里我们以Scanner类来获取用户输入为例
        System.out.println("请输入一串字符");  //先打印输入提示
        Scanner sc = new Scanner(System.in);  //system.in是Scanner的参数，对应的是System.out打印，System.in读入用户的输入，Scanner获取用户输入的内容。用Scanner类定义一个sc对象，这个对象是引用类型的
//        sc = null; //引用对象设置为空表示谁都不引用这个对象，只有引用对象才可以设置为空，基本数据类型不能设置为null
        String  str = sc.nextLine();  //定义一个str字符串，这里注意，和int不一样，String str也是引用类型的，str接收换行输入的缓存。nextLine()是对象的方法，接受下一行的输入
        System.out.println("你输入的字符是： "+str);
        sc.close();  //使用完后关闭！
    }
}
